package com.hucc.api.repository;

import com.hucc.api.domain.entity.Interface;
import com.hucc.api.domain.entity.InterfaceWithBLOBs;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface InterfaceMapper {
    int deleteByPrimaryKey(Long id);

    int insert(InterfaceWithBLOBs record);

    int insertSelective(InterfaceWithBLOBs record);

    InterfaceWithBLOBs selectByPrimaryKey(Long id);

    int updateByPrimaryKeySelective(InterfaceWithBLOBs record);

    int updateByPrimaryKeyWithBLOBs(InterfaceWithBLOBs record);

    int updateByPrimaryKey(Interface record);

    List<InterfaceWithBLOBs> getByProjectIdAndGroupIdAndPath(@Param("projectId") Long projectId, @Param("groupId") Long groupId, @Param("path") String path);

    void deleteLtVersion(Long projectId, String version);

    InterfaceWithBLOBs selectByProjectIdAndVersionAndPath(Long projectId, String version, String path, int type);

    List<InterfaceWithBLOBs> getByProjectIdAndPath(Long projectId, String path);
}